export const NODEJS_IDS: { [key: string]: string } = {
  NODE_MODULE: 'NODE_MODULE',
  NODE_HTTPMODULE: 'NODE_HTTPMODULE',
  NODE_FILESYSTEM: 'NODE_FILESYSTEM',
  NODE_URLMODULE: 'NODE_URLMODULE',
  NODE_NPM: 'NODE_NPM',
  NODE_EVENTS: 'NODE_EVENTS',
  NODE_UPLOADFILES: 'NODE_UPLOADFILES',
  NODE_EMAIL: 'NODE_EMAIL',
  NODE_SQLDATABASE: 'NODE_SQLDATABASE',
  NODE_SQLCREATETABLE: 'NODE_SQLCREATETABLE',
  NODE_SQLINSERTINTO: 'NODE_SQLINSERTINTO',
  NODE_SQLSELECTFORM: 'NODE_SQLSELECTFORM',
  NODE_SQLWHERE: 'NODE_SQLWHERE',
  NODE_SQLORDERBY: 'NODE_SQLORDERBY',
  NODE_SQLDELETE: 'NODE_SQLDELETE',
  NODE_SQLDROPTABLE: 'NODE_SQLDROPTABLE',
  NODE_SQLUPDATE: 'NODE_SQLUPDATE',
  NODE_SQLLIMIT: 'NODE_SQLLIMIT',
  NODE_SQLJOIN: 'NODE_SQLJOIN',
  NODE_MONGODBDATABASE: 'NODE_MONGODBDATABASE'
};

export const NODEJS_TEMPLATES = {
  [NODEJS_IDS.NODE_MODULE]: async () => (await import('./001_node_module')).default,
  [NODEJS_IDS.NODE_HTTPMODULE]: async () => (await import('./002_node_httpModule')).default,
  [NODEJS_IDS.NODE_FILESYSTEM]: async () => (await import('./003_node_fileSystem')).default,
  [NODEJS_IDS.NODE_URLMODULE]: async () => (await import('./004_node_urlModule')).default,
  [NODEJS_IDS.NODE_NPM]: async () => (await import('./005_node_npm')).default,
  [NODEJS_IDS.NODE_EVENTS]: async () => (await import('./006_node_events')).default,
  [NODEJS_IDS.NODE_UPLOADFILES]: async () => (await import('./007_node_uploadFiles')).default,
  [NODEJS_IDS.NODE_EMAIL]: async () => (await import('./008_node_email')).default,
  [NODEJS_IDS.NODE_SQLDATABASE]: async () => (await import('./009_node_sqlDatabase')).default,
  [NODEJS_IDS.NODE_SQLCREATETABLE]: async () => (await import('./010_node_sqlCreateTable')).default,
  [NODEJS_IDS.NODE_SQLINSERTINTO]: async () => (await import('./011_node_sqlInsertInto')).default,
  [NODEJS_IDS.NODE_SQLSELECTFORM]: async () => (await import('./012_node_sqlSelectForm')).default,
  [NODEJS_IDS.NODE_SQLWHERE]: async () => (await import('./013_node_sqlWhere')).default,
  [NODEJS_IDS.NODE_SQLORDERBY]: async () => (await import('./014_node_sqlOrderBy')).default,
  [NODEJS_IDS.NODE_SQLDELETE]: async () => (await import('./015_node_sqlDelete')).default,
  [NODEJS_IDS.NODE_SQLDROPTABLE]: async () => (await import('./016_node_sqlDropTable')).default,
  [NODEJS_IDS.NODE_SQLUPDATE]: async () => (await import('./017_node_sqlUpdate')).default,
  [NODEJS_IDS.NODE_SQLLIMIT]: async () => (await import('./018_node_sqlLimit')).default,
  [NODEJS_IDS.NODE_SQLJOIN]: async () => (await import('./019_node_sqlJoin')).default,
  [NODEJS_IDS.NODE_MONGODBDATABASE]: async () =>
    (await import('./020_node_mongodbDatabase')).default
};
